/* 基础样式 */
page {
    background-color: #f8f8f8;
    font-family: 'PingFang SC', 'Helvetica Neue', Arial, sans-serif;
    color: #333;
  }
  
  /* 动画效果 */
  .hover-scale {
    transform: scale(0.98);
    transition: all 0.2s ease;
  }
  
  .hover-opacity {
    opacity: 0.9;
    transition: opacity 0.2s ease;
  }
  
  /* 轮播图区域 */
  .swiper-container {
    height: 480rpx;
    border-radius: 5rpx;
    overflow: hidden;
    box-shadow: 0 8rpx 20rpx rgba(0, 0, 0, 0.1);
    margin: 20rpx;
    position: relative;
  }
  
  swiper {
    height: 100%;
  }
  
  swiper image {
    width: 100%;
    height: 100%;
  }
  
  .swiper-title {
    position: absolute;
    bottom: 40rpx;
    left: 30rpx;
    color: #fff;
    font-size: 36rpx;
    font-weight: bold;
    text-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.5);
    background: rgba(0, 0, 0, 0.3);
    padding: 10rpx 20rpx;
    border-radius: 30rpx;
  }
  

  /* 通用区域样式 */
  .section {
    background: #fff;
    margin: 20rpx;
    border-radius: 20rpx;
    padding: 20rpx 0;
    box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.05);
  }
  
  .section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 30rpx 20rpx;
  }
  
  .section-title {
    font-size: 32rpx;
    font-weight: bold;
    position: relative;
    padding-left: 16rpx;
  }
  
  .section-title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8rpx;
    height: 60%;
    width: 6rpx;
    background: linear-gradient(to bottom, #ff6b81, #ff8e53);
    border-radius: 3rpx;
  }
  
  .more-link {
    font-size: 24rpx;
    color: #999;
  }
  
  /* 主题分类区域 */
  .category-scroll {
    white-space: nowrap;
    padding: 0 20rpx;
  }
  
  .category-item {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    width: 140rpx;
    margin-right: 30rpx;
  }
  
  .category-item:last-child {
    margin-right: 0;
  }
  
  .category-item image {
    width: 100rpx;
    height: 100rpx;
    border-radius: 50%;
    margin-bottom: 12rpx;
    box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);
  }
  
  .category-item text {
    font-size: 24rpx;
    color: #666;
  }
  
  /* 精选蛋糕系列样式 */
.series-container {
    display: flex;
    flex-wrap: wrap;
    padding: 0 20rpx;
  }
  
  .series-item {
    width: 48%;
    margin: 1%;
    border-radius: 16rpx;
    overflow: hidden;
    box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.08);
    position: relative;
  }
  
  .series-item image {
    width: 100%;
    height: 280rpx;
  }
  
  .series-info {
    padding: 20rpx;
    background: #fff;
  }
  
  .series-name {
    font-size: 28rpx;
    font-weight: bold;
    color: #333;
    display: block;
    margin-bottom: 8rpx;
  }
  
  .series-desc {
    font-size: 22rpx;
    color: #999;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  
  /* 新品上市样式 */
  .new-arrival-section {
    background: linear-gradient(to bottom, #fff9f9, #fff);
  }
  
  .new-scroll {
    white-space: nowrap;
    padding: 0 20rpx 30rpx;
  }
  
  .new-item {
    display: inline-block;
    width: 220rpx;
    margin-right: 20rpx;
    background: #fff;
    border-radius: 16rpx;
    overflow: hidden;
    box-shadow: 0 8rpx 20rpx rgba(255, 105, 140, 0.1);
    position: relative;
  }
  
  .new-item:last-child {
    margin-right: 0;
  }
  
  .new-tag {
    position: absolute;
    top: 10rpx;
    right: 10rpx;
    background: #ff6b81;
    color: #fff;
    font-size: 20rpx;
    padding: 4rpx 12rpx;
    border-radius: 20rpx;
    z-index: 2;
  }
  
  .new-tag.hot {
    background: #ff9500;
  }
  
  .new-item image {
    width: 100%;
    height: 220rpx;
  }
  
  .new-info {
    padding: 16rpx;
  }
  
  .new-name {
    font-size: 26rpx;
    font-weight: 500;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    margin-bottom: 16rpx;
  }
  
  .new-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
  .new-price {
    font-size: 28rpx;
    color: #ff6b81;
    font-weight: bold;
  }
  
  .new-action {
    width: 25rpx;
    height: 25rpx;
    background: #ff6b81;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .new-action .iconfont {
    font-size: 24rpx;
    color: #fff;
  }
  
  /* 节日限定样式 */
  .festival-section {
    background: linear-gradient(to bottom, #fff, #f9f9ff);
  }
  
  .festival-container {
    padding: 0 20rpx;
  }
  
  .festival-item {
    height: 300rpx;
    border-radius: 16rpx;
    overflow: hidden;
    margin-bottom: 20rpx;
    position: relative;
  }
  
  .festival-item image {
    width: 100%;
    height: 100%;
  }
  
  .festival-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.7), transparent);
    padding: 30rpx 20rpx;
    color: #fff;
  }
  
  .festival-name {
    font-size: 32rpx;
    font-weight: bold;
    display: block;
    margin-bottom: 8rpx;
  }
  
  .festival-time {
    font-size: 24rpx;
    opacity: 0.9;
  }
  /* 新增绿色渐变背景 */
.bg-green {
    background: linear-gradient(135deg, #bdec83, #83d35e);
  }
  
  /* 调整info-container为4列布局 */
  .info-container {
    display: flex;
    justify-content: space-between;
    padding: 20rpx 15rpx; /* 缩小左右padding以适应4列 */
    margin: 20rpx;
    background: #fff;
    border-radius: 20rpx;
    box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.05);
  }
  
  .info-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    min-width: 0; /* 防止内容溢出 */
    padding: 0 10rpx; /* 增加内间距 */
  }
  
  /* 调整图标大小以适应更多内容 */
  .icon-box {
    width: 88rpx;
    height: 88rpx;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10rpx;
  }
  
  .icon-box .iconfont {
    font-size: 45rpx;
    color: #fff;
  }
  
  /* 调整文字大小 */
  .info-text {
    font-size: 26rpx;
    font-weight: 500;
    margin-bottom: 4rpx;
    white-space: nowrap;
  }
  
  .info-subtext {
    font-size: 20rpx;
    color: #999;
    white-space: nowrap;
  }
  
//   优惠券样式
/* 优惠券弹窗样式 */
.coupon-popup {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 999;
}

.coupon-content {
    background-color: #ec5470;
    border-radius: 10px;
    padding: 20px;
    width: 80%;
    max-width: 500px;
    color: white;
    position: relative;
    height: 350rpx; /* 调整弹窗高度 */
}

.coupon-close {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 24px;
    cursor: pointer;
    z-index: 10;
}

.coupon-title {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
}

.coupon-list {
    margin-bottom: 20px;
}

.coupon-item {
    display: flex;
    align-items: center;
    background-color: white;
    border-radius: 5px;
    padding: 10px;
    margin-bottom: 20px;
}

.coupon-amount {
    font-size: 24px;
    font-weight: bold;
    color: #ff4d6d;
    margin-right: 10px;
}

.coupon-info {
    flex: 1;
}

.coupon-type {
    font-size: 16px;
    font-weight: bold;
    color: #333;
}

.coupon-scope {
    font-size: 14px;
    color: #666;
}

.coupon-use {
    background-color: #ff4d6d;
    color: white;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 14px;
}

.coupon-footer {
    display: flex;
    justify-content: center;
    align-items: center;
}

.coupon-btn {
    background-color: #f7f4eb;
    color: #ff4d6d;
    font-weight: bold;
    padding: 10px 20px;
    border-radius: 20px;
    margin-right: 10px;
}
// 节日获得弹窗
.bg-fest{
  position: fixed;
  top: 33%;
  left: 90rpx;
  width: 600rpx;
  height: 600rpx;
  background-color: white;
  border-radius: 20rpx;
  z-index: 3;
}
.bg-festimg{
  width: 100%;
  height: 100%;
  opacity: 0.2;
  object-fit: contain; 
  margin:0 -100rpx -230rpx 0;
}
.bg-box{
  position: relative;
  bottom: 370rpx;
  left: 20rpx;
  width: 560rpx;
  height: 550rpx;
  background-color: white;
  border-radius: 20rpx;
  opacity: 0.6;
}
.bg-name{
  padding: 20rpx;
  margin: 20rpx;
  font-size: 35rpx;
  font-weight: bold;
  border-bottom: 1px gray solid;
  text{
    font-size: 28rpx;
    font-weight: 100;
  }
}
.bg-count{
  width: 90%;
  margin: auto;
  font-weight: 100;
}
.bg-text{
  padding: 22rpx;
  font-weight: 550;
}
.bg-quan{
padding: 10rpx;
display: flex;
border: 1px solid g;
padding: 30rpx;
border-radius:20rpx ;
margin: 10rpx;
}
.bg-money{
  background-color: white;
  border-radius: 10rpx;

  text{
    &:first-of-type{
     position: relative;
     left: 45rpx;
    }
    padding: 7rpx;
    color: red;
    display: flex;
  }
}
.bg-but{
  position: relative;
  top: 20rpx;
  left: 80rpx;
  width: 150rpx !important;
  height: 65rpx;
  font-size: 25rpx;
  color: red;
  border: 1px solid red;
}
.bg-but-true{
  position: relative;
  top: 20rpx;
  left: 80rpx;
  width: 172rpx !important;
  height: 65rpx;
  font-size: 25rpx;
  color: rgb(170, 135, 135);
  border: 1px solid rgb(170, 135, 135);
}
/* 全屏遮罩层 - 阻止页面其他区域点击 */
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5); /* 半透明背景 */
  z-index: 2; /* 确保在可点击盒子下方 */
}